package sistemaAcademico.negocio;

import java.util.ArrayList;

public class Aluno extends Papel {
	private char situacao;
	private boolean bolsista;
	private ArrayList<Mensalidade> mensalidades;
	private ArrayList<AlunoTurma> alunosTurmas;

	public Aluno(String matricula) {
		super(matricula);
	}

	public char getSituacao() {
		return situacao;
	}

	public void setSituacao(char situacao) {
		this.situacao = situacao;
	}

	public void setBolsista(boolean bolsista) {
		this.bolsista = bolsista;
	}

	public boolean isBolsista(float pctBolsa) {
		if (pctBolsa > 0)
			bolsista = true;
		return bolsista;
	}

	public ArrayList<Mensalidade> getMensalidades() {
		return mensalidades;
	}

	public void setMensalidades(ArrayList<Mensalidade> mensalidades) {
		this.mensalidades = mensalidades;
	}

	public ArrayList<AlunoTurma> getAlunosTurmas() {
		return alunosTurmas;
	}

	public void setAlunosTurmas(ArrayList<AlunoTurma> alunosTurmas) {
		this.alunosTurmas = alunosTurmas;
	}

	public float getPmg() {
		ArrayList<Turma> turmas = new ArrayList<Turma>();
		float pmg = 0;
		for (int i = 0; i < alunosTurmas.size(); i++) {
			pmg += alunosTurmas.get(i).getMedia();
		}

		return pmg;
	}

	public int getSemestre(Papel matricula) {		
		ArrayList<Turma> turmas = new ArrayList<Turma>();
		int totalCreditosCursados = 0;
		int totalCreditos = 0;
		int totalSemestres = 0;
		int semestre = 0;
		for (int i = 0; i < alunosTurmas.size(); i++) {
			totalCreditosCursados = alunosTurmas.get(i).getTurma().getDisc()
					.getCreditosTeoricos()
					+ alunosTurmas.get(i).getTurma().getDisc()
							.getCreditosPraticos();
			totalCreditos = alunosTurmas.get(i).getTurma().getDisc().getCurso()
					.getTotalCreditos();
			totalSemestres = alunosTurmas.get(i).getTurma().getDisc()
					.getCurso().getTotalSemestres();
		}
		int creditoSemestre = totalCreditos / totalSemestres;
		if ((totalCreditosCursados % creditoSemestre) == 0) {
			semestre = totalCreditosCursados / creditoSemestre;
		} else {
			semestre += 1;
		}
		return semestre;
	}
}
